Jass – Java with Assertions 1
نویسندگان
چکیده
Design by Contract, proposed by Meyer for the programming language Eiffel, is a technique that allows run-time checks of specification violation and their treatment during program execution. Jass, Java with assertions, is a Design by Contract extension for Java allowing to annotate Java programs with specifications in the form of assertions. The Jass tool is a pre-compiler that translates annotated into pure Java programs in which compliance with the specification is dynamically tested. Besides the standard Design by Contract features known from classical program verification (e.g. preand postconditions, invariants), Jass additionally supports refinement, i.e. subtyping, checks and the novel concept of trace assertions. Trace assertions are used to monitor the dynamic behaviour of objects in time. 1 This work was partially funded by the German Research Council (DFG) under grant OL 98/3-1. 2 Email: [email protected] 3 Email: [email protected] 4 Email: [email protected] 5 Email: [email protected] c ©2001 Published by Elsevier Science B. V.
منابع مشابه
JASSDA TRACE ASSERTIONS∗ Runtime Checking the Dynamic of Java Programs
Research into runtime checking of programs mainly concentrates on the Design by Contract concept, as proposed by Meyer for the programming language Eiffel. The goal is here to check whether a program fulfills certain conditions in certain states, i.e method entry and exit points. Jass (Java with assertions)[1] tries to extend this to behavioural properties by adding trace assertion for dynamica...
متن کاملJass - Java with Assertions
Design by Contract, proposed by Meyer for the programming language Eiffel, is a technique that allows run-time checks of specification violation and their treatment during program execution. Jass, Java with assertions, is a Design by Contract extension for Java allowing to annotate Java programs with specifications in the form of assertions. The Jass tool is a pre-compiler that translates annot...
متن کاملSoftware Development with Object-Z, CSP, and Java: A Pragmatic Link from Formal Specifications to Programs
Object-Z and CSP are high level specification languages which offer powerful formal support for the design of distributed, communicating systems. Java is an ideal implementation language for such systems. But developing provably correct Java implementations from these specifications is notoriously difficult. To bridge this gap we suggest to use Jass, which extends Java with assertions, as an in...
متن کاملNASA / CP - 2008 - 215309 Proceedings of the Sixth NASA Langley
We describe a runtime verification approach to increase the safety of IVHM systems by an integration of TEAMS models and MOP (Monitor-Oriented Programming). The TEAMS model is used to automatically extract relevant runtime information from the controlled system by means of events. This information is passed on-line to the MOP engine, allowing to verify complex temporal properties and to discove...
متن کاملMay 2008 NASA / CP - 2008 - 215309 Proceedings of the Sixth NASA Langley
We describe a runtime verification approach to increase the safety of IVHM systems by an integration of TEAMS models and MOP (Monitor-Oriented Programming). The TEAMS model is used to automatically extract relevant runtime information from the controlled system by means of events. This information is passed on-line to the MOP engine, allowing to verify complex temporal properties and to discove...
متن کامل